Large scale graph data, for example, where vertices representing documents, people, products, or other items are linked by edges, is generated in many application domains. For example, in social networking, information retrieval, video conferencing, product recommendation systems, knowledge management systems and others.
Existing approaches for querying graph data and carrying out computations using graph data in order to control social networking systems, information retrieval systems and others are typically time consuming and often do not scale up well to web-scale applications where massive amounts of data are involved. For example, social networking graphs may have over 1 billion vertices, each representing a user and may have around 140 billion edges representing connections between users.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known ways of processing graph data.